﻿Imports Microsoft.VisualBasic.ApplicationServices

Namespace My
  ' Für MyApplication sind folgende Ereignisse verfügbar:
  ' 
  ' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.
  ' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung nicht normal beendet wird.
  ' UnhandledException: Wird ausgelöst, wenn in der Anwendung eine unbehandelte Ausnahme auftritt.
  ' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn diese bereits aktiv ist. 
  ' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
  Partial Friend Class MyApplication
    Protected Overrides Function OnStartup(eventArgs As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) As Boolean
      OnStartup = MyBase.OnStartup(eventArgs)
      AddHandler Application.UnhandledException, AddressOf UnhandledExceptionHandler
    End Function

    Private Sub UnhandledExceptionHandler(sender As Object, e As UnhandledExceptionEventArgs)
      If (e.Exception IsNot Nothing) Then
        MessageBox.Show(e.Exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        e.ExitApplication = False
      End If
    End Sub
  End Class
End Namespace

